package com.bjx.system.domain.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bjx.common.core.domain.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @desc: 菜单实体
 * @author: liushuai
 * @date: 2022/7/6 13:54
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName("sys_menu")
@Schema(title = "MenuEntity",description = "菜单实体")
public class MenuEntity extends BaseEntity {

    /**
     * 菜单ID
     */
    @TableId(type = IdType.AUTO)
    @Schema(title = "menuId",description = "菜单ID")
    private Long menuId;

    /**
     * 菜单父Id
     */
    @Schema(title = "pid",description = "菜单父Id")
    private Long pid;

    /**
     * 菜单标题
     */
    @Schema(title = "menuTitle",description = "菜单标题")
    private String menuTitle;

    /**
     * 菜单名称
     */
    @Schema(title = "menuName",description = "菜单名称")
    private String menuName;

    /**
     * 权限标识
     */
    @Schema(title = "authFlag",description = "权限标识")
    private String authFlag;

    /**
     * 类型(1:菜单/2:目录/3:按钮)
     */
    @Schema(title = "type",description = "类型(1:菜单/2:目录/3:按钮)")
    private Short type;

    /**
     * 文件路径
     */
    @Schema(title = "filePath",description = "文件路径")
    private String filePath;

    /**
     * 请求路径
     */
    @Schema(title = "requestPath",description = "请求路径")
    private String requestPath;

    /**
     * 是否启用(1:是/2:否)
     */
    @Schema(title = "enabled",description = "是否启用(1:是/2:否)")
    private Short enabled;

    /**
     * 菜单类型(1:页面/2:外链/3:内嵌)
     */
    @Schema(title = "menuType",description = "菜单类型(1:页面/2:外链/3:内嵌)")
    private Short menuType;

    /**
     * 菜单图标
     */
    @Schema(title = "icon",description = "菜单图标")
    private String icon;

    /**
     * 是否隐藏(1:是/2:否)
     */
    @Schema(title = "hidden",description = "是否隐藏(1:是/2:否)")
    private Short hidden;

    /**
     * 是否固定(1:是/2:否)
     */
    @Schema(title = "是否固定菜单tab",description = "是否固定菜单tab(1:是/2:否)")
    private Short affix;

    /**
     * 菜单参数
     */
    @Schema(title = "params",description = "菜单参数")
    private String params;

    /**
     * 顺序
     */
    @Schema(title = "orderNum",description = "顺序")
    private Integer orderNum;

}
